package com.jicheng;

class Human extends Animal{
    public void Say(){
        System.out.print("Hi");
//帮父类完成方法体的实现。
    }}
class Human2 extends Animal{
    public void Say(){
        System.out.print("Hi2");
//帮父类完成方法体的实现。
    }}
abstract class Animal{
    //关键词abstract出现声明这是抽象类。
    public abstract void Say();
/*抽象方法的方法体并没有指向某个具体的实现，由继承它的子类来完成方法的实现。
抽象方法与其他方法不一样，最后面是“；”而不是“{}”*/
}

public class main{
    public static void main(String[] args){
        int a =3;
        if(a>1){
/*用判断结合抽象类的功能，体现了多态的性质：同一个行为具有多个不同表现形式的能力
程序中引用变量，指向不同的实现。*/
            Animal h=new Human();
            h.Say();
        }
        else{
            Animal h=new Human2();
            h.Say();
        }

    }}
//抽象类是实现多态 很好的方法之一。
